package main

import (
	"fmt"
)

func main() {
	var i int = 11
	fmt.Printf("i的2进制:%b\n", i)
	fmt.Printf("i的8进制:%o\n", i)
	fmt.Printf("i的16进制:%X\n", i)

	var n uint8 = 0111 //0开头就是八进制
	fmt.Printf("n的2进制:%b\n", n)
	var t int = 0xF
	fmt.Printf("t的16进制:%X\n", t)
	fmt.Printf("t的2进制:%b\n", t)
	fmt.Printf("t的8进制:%o\n", t)

	//位运算  ,位运算是通过补码来进行计算的
	fmt.Println(2 & 3)
	fmt.Println(2 | 3)
	fmt.Println(2 ^ 3)
	fmt.Println(2 ^ -2)
	//移位运算也是通过补码进行计算
	var p int = -2
	fmt.Println(8 >> 2)
	fmt.Println(p << 2)
}
